package com.authstr.utils;

import java.io.*;

import org.springframework.util.AntPathMatcher;

/**
 * 将对象进行序列化保存到本地
 * @time 2018年12月30日 下午7:40:39
 * @author authstr
 * @version V1.0
 */
public class SerializableUtils {
	//要保存到的文件夹
	public static String path="C:/Users/"+System.getProperty("user.name")+"/zz_ROOT/";

//	public static void main(String[] args) {
//		AntPathMatcher PathMatcher=new AntPathMatcher();
//		System.out.println(PathMatcher.match("test", "test"));
//		System.out.println(PathMatcher.match("/sd-jw-basic/**", "/sd-jw-b"));
//		///sd-jw-basic/**
//	}

	/**
	 * 写入对象到本地
	 * @param obj
	 * @time 2018年12月30日 下午7:41:01
	 * @author authstr
	 */
	public static void writeObjectToFile(Object obj,String filename) throws IOException {
		File file =new File(path+filename);
		//判断目标文件所在的目录是否存在
		if(!file.getParentFile().exists()) {
			//如果目标文件所在的目录不存在，则创建父目录
			System.out.println("创建cookie文件所在目录["+file.getParentFile()+"]");
			if(!file.getParentFile().mkdirs()) {
				System.out.println("目录创建失败！");
			}
		}
		FileOutputStream out;
		out = new FileOutputStream(file);
		ObjectOutputStream objOut=new ObjectOutputStream(out);
		objOut.writeObject(obj);
		objOut.flush();
		objOut.close();
	}

	/**
	 * 将指定的文件读取为一个对象
	 * @return
	 * @time 2018年12月30日 下午7:41:15
	 * @author authstr
	 */
	public static Object readObjectFromFile(String filename) throws Exception {
		Object temp=null;
		File file =new File(path+filename);
		FileInputStream in;
		in = new FileInputStream(file);
		ObjectInputStream objIn=new ObjectInputStream(in);
		temp=objIn.readObject();
		objIn.close();
		return temp;
	}



}
